package com.lnu_devteam.zongce.model.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 用户表
 * @TableName tb_user
 */
@ApiModel(description = "用户表")
@TableName(value ="tb_user")
@Data
@EqualsAndHashCode
public class User implements Serializable {
    /**
     * 用户标识id
     */
    @ApiModelProperty("用户标识id")
    @TableId(type = IdType.AUTO)
    @ExcelIgnore
    private Long uId;

    /**
     * 用户学号/工号，充当登录账号
     */
    @ApiModelProperty("用户学号/工号，充当登录账号")
    @ExcelProperty("学号")
    private String uAccount;

    /**
     * 用户姓名
     */
    @ApiModelProperty("用户姓名")
    @ExcelProperty("姓名")
    private String uName;

    /**
     * 用户所在学院
     */
    @ApiModelProperty("用户所在学院")
    @ExcelProperty("学院")
    private String uCollege;

    /**
     * 用户所在年级
     */
    @ApiModelProperty("用户所在年级")
    @ExcelProperty("年级")
    private String uGrade;

    /**
     * 用户所在专业
     */
    @ApiModelProperty("用户所在专业")
    @ExcelProperty("专业")
    private String uMajor;

    /**
     * 用户所在班级
     */
    @ApiModelProperty("用户所在班级")
    @ExcelProperty("班级")
    private String uClass;

    /**
     * 用户登录密码
     */
    @ApiModelProperty("用户登录密码")
    @ExcelIgnore
    private String uPassword;

    /**
     * 用户权限，普通用户0、管理员1、超管2，默认普通用户0
     */
    @ApiModelProperty("用户权限，普通用户0、管理员1、超管2，默认普通用户0")
    @ExcelIgnore
    private Integer uAuth;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @ExcelIgnore
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @ExcelIgnore
    private Date updateTime;

    /**
     * 删除标识，正常0、已删除1，默认0
     */
    @ApiModelProperty("删除标识，正常0、已删除1，默认0")
    @ExcelIgnore
    private Integer isDelete;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    @ExcelIgnore
    private static final long serialVersionUID = 1L;
}